// System Unit
// Basic Types

(*************)
(* Interface *)
(*************)
{$IFDEF Include_Modules_Header}

 Type
  {$POINTERMATH ON}
  PByte         = ^Byte;
  PShortInt     = ^ShortInt;
  PWord         = ^Word;
  PSmallInt     = ^SmallInt;
  PInteger      = ^Integer;
  PCardinal     = ^Cardinal;
  PInt64        = ^Int64;
  PUInt64       = ^UInt64;

  PLongWord     = ^LongWord;
  PLongInt      = ^LongInt;

  PSingle       = ^Single;
  PDouble       = ^Double;
  PExtended     = ^Extended;
  PCurrency     = ^Currency;

  PBoolean      = ^Boolean;
  PWordBool     = ^WordBool;
  PLongBool     = ^LongBool;

  PPChar        = ^PChar;
  PPANSIChar    = ^PANSIChar;
  PPWideChar    = ^PWideChar;

  PPointer      = ^Pointer;

  PNativeInt    = ^NativeInt;
  PNativeUInt   = ^NativeUInt;
  {$POINTERMATH OFF}

  HResult = Type LongInt;

  TProc = Procedure;

{$ENDIF Include_Modules_Header}
(******************)
(* Implementation *)
(******************)
{$IFDEF Include_Modules_Implement}
{$ENDIF Include_Modules_Implement}
(******************)
(* Initialization *)
(******************)
{$IFDEF Include_Modules_Initialize}
{$ENDIF Include_Modules_Initialize}
(****************)
(* Finalization *)
(****************)
{$IFDEF Include_Modules_Finalize}
{$ENDIF Include_Modules_Finalize}
